<?php
/**
 *
 * @file Pipeline.php
 *
 *
 * http://code.google.com/p/rpd/wiki/Pipeline.php
 *
 * New BSD License
 * \n
 * Copyright (c) 2010 Rpd-Team
 *
 * @namespace  rpd
 * @since      0.1.0
 */

/**
 * Interface for pipeline classes
 * @since  0.1.0
 *
 * Every class that implements the Pipeline-Interface can get different
 * type of data to let em do what they are supposed to. See some examples
 * for Model, View and Controller to know how to push data.
 *
 * @section Changelog
 *
 * <table>
 * 	<tr>
 * 		<th>Version</th>
 * 		<th>Description</th>
 *  </tr>
 *  <tr><td></td><td></td></tr>
 * </table>
 *
 *
 * @section Examples
 *
 * @subsection Pipeline-View Push submitted form into View
 *
 * After some data has been sended via form we want to show them once more
 * in a view.
 *
 * <pre>Content of $_POST</pre>
 * @verbatim ["username"] => "Foo" @endverbatim
 *
 * <pre>/app/View/show_data.php</pre>
 * @code
 * Your name is: <?=$username?>
 * @endcode
 *
 * <pre>/app/Controller/index.php</pre>
 * @code
 * <?php
 *
 * $view = new View("show_data");	// get the view
 * echo $view($_POST);				// pipe the submitted informations in it
 *
 * ?>
 * @endcode
 *
 * @warning You need PHP 5.3.0 and above to use pipelines like above. Below
 * you'll have to write "$view->__invoke($_POST);" instead.
 *
 * @see Controller
 * @see View
 *
 */
interface Pipeline {
	public function __invoke($arg) {}
}

?>